home *** CD-ROM | disk | FTP | other *** search
/ 9-Digit Zip Code Directory / 9-Digit Zip Code Directory (American Business Information) (ABIZIP-12).ISO / z4src.zip / COBJPS.H < prev    next >
Text File  |  1993-11-16  |  3KB  |  70 lines

  1. /*****************************************************************************\
  2. *                                                                             *
  3. * cobjps.h -    Definitions for writing standard proxies and stubs              *
  4. *                                                                             *
  5. *               OLE Version 2.0                                               *
  6. *                                                                             *
  7. *               Copyright (c) 1992-1993, Microsoft Corp. All rights reserved. *
  8. *                                                                             *
  9. \*****************************************************************************/
  10.  
  11. #if !defined( _COBJPS_H_ )
  12. #define _COBJPS_H_
  13.  
  14.  
  15. /****** IRpcChannel Interface ***********************************************/
  16.  
  17. interface IRpcChannel : IUnknown 
  18. {
  19.     STDMETHOD(GetStream)(REFIID iid, int iMethod, BOOL fSend,
  20.                      BOOL fNoWait, DWORD size, IStream FAR* FAR* ppIStream) = 0;
  21.     STDMETHOD(Call)(IStream FAR* pIStream) = 0;
  22.     STDMETHOD(GetDestCtx)(DWORD FAR* lpdwDestCtx, LPVOID FAR* lplpvDestCtx) = 0;
  23.     STDMETHOD(IsConnected)(void) = 0;
  24. };
  25.  
  26.  
  27. /****** IRpcProxy Interface *************************************************/
  28.  
  29. // IRpcProxy is an interface implemented by proxy objects.  A proxy object has
  30. // exactly the same interfaces as the real object in addition to IRpcProxy.
  31. //
  32.  
  33. interface IRpcProxy : IUnknown 
  34. {
  35.     STDMETHOD(Connect)(IRpcChannel FAR* pRpcChannel) = 0;
  36.     STDMETHOD_(void, Disconnect)(void) = 0;
  37. };
  38.  
  39.  
  40. /****** IRpcStub Interface **************************************************/
  41.  
  42. // IRpcStub is an interface implemented by stub objects.  
  43. //
  44.  
  45. interface IRpcStub : IUnknown
  46. {
  47.     STDMETHOD(Connect)(IUnknown FAR* pUnk) = 0;
  48.     STDMETHOD_(void, Disconnect)(void) = 0;
  49.     STDMETHOD(Invoke)(REFIID iid, int iMethod, IStream FAR* pIStream,
  50.             DWORD dwDestCtx, LPVOID lpvDestCtx) = 0;
  51.     STDMETHOD_(BOOL, IsIIDSupported)(REFIID iid) = 0;
  52.     STDMETHOD_(ULONG, CountRefs)(void) = 0;
  53. };
  54.  
  55.  
  56. /****** IPSFactory Interface ************************************************/
  57.  
  58. // IPSFactory - creates proxies and stubs
  59. //
  60.  
  61. interface IPSFactory : IUnknown
  62. {
  63.     STDMETHOD(CreateProxy)(IUnknown FAR* pUnkOuter, REFIID riid, 
  64.         IRpcProxy FAR* FAR* ppProxy, void FAR* FAR* ppv) = 0;
  65.     STDMETHOD(CreateStub)(REFIID riid, IUnknown FAR* pUnkServer,
  66.         IRpcStub FAR* FAR* ppStub) = 0;
  67. };
  68.  
  69. #endif // _COBJPS_H_
  70.